Skip to content

feat(image-editor): wire Hand tool — drag-to-pan#38

Merged
lyfuci merged 1 commit intofeat/image-editor-pixelforge-shellfrom
feat/image-editor-hand-tool
Apr 24, 2026
Merged

feat(image-editor): wire Hand tool — drag-to-pan#38
lyfuci merged 1 commit intofeat/image-editor-pixelforge-shellfrom
feat/image-editor-hand-tool

Conversation

@lyfuci
Copy link
Copy Markdown
Owner

@lyfuci lyfuci commented Apr 24, 2026

Summary

Promotes the Hand (H) tool from stub to functional. When selected, the
workspace enters pan mode (drag-to-pan instead of drag-to-draw); behavior
matches Space-hold pan, just modal instead of momentary.

Stacked on top of #37 — merge that first; GitHub will retarget this to `main`.

Implementation

  • `panMode` now derives from `spaceHeld || tool === 'hand'` inside
    `ImageEditor.tsx`. Workspace's existing drag-to-pan logic activates
    naturally without a Workspace-side change.
  • `OptionsBar` gains a Hand-specific hint variant.
  • `tool-meta.ts` removes `hand` from `STUB_TOOLS`, so the palette button
    no longer shows the "coming soon" toast.

Test plan

  • Click the Hand icon (or press H) — cursor shows grab; drag canvas to pan.
  • Cmd/Ctrl+wheel still zooms at cursor while Hand active.
  • Switch back to Brush — drawing works again, no leftover pan.
  • Space-hold still pans regardless of active tool.

🤖 Generated with Claude Code

Promotes the Hand (H) tool from stub to functional. When selected, the
Workspace enters pan mode (drag-to-pan instead of drag-to-draw); behavior
matches Space-hold pan, just modal instead of momentary.

Implementation: panMode now derives from `spaceHeld || tool === 'hand'`
inside ImageEditor.tsx. Workspace's existing drag-to-pan logic activates
naturally. OptionsBar gets a Hand-specific hint variant.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@lyfuci lyfuci merged commit f26ca4c into feat/image-editor-pixelforge-shell Apr 24, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant